﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace SimpleSocket
{
    /// <summary>
    /// This clas is used internaly to repserent a message that has been received.
    /// </summary>
    internal class Message
    {
        /// <summary>
        /// The DateTime that the message started to be received.
        /// </summary>
        public DateTime ReceiveStart { get; set; }

        /// <summary>
        /// The DateTime that the message completed being received.
        /// </summary>
        public DateTime ReceiveComplete { get; set; }

        /// <summary>
        /// If true a Responce is requested.
        /// </summary>
        public bool ResponceRequested { get; set; }

        /// <summary>
        /// The ResponceID that should be sent back if a responce was requested.
        /// </summary>
        public UInt32 ResponceID { get; set; }

        /// <summary>
        /// Custom Command that is used by the application inplenting this libaray.
        /// </summary>
        public int Command { get; set; }

        /// <summary>
        /// Custom Command that is used by the application inplenting this libaray.
        /// </summary>
        public string CommandText { get; set; }

        /// <summary>
        /// Data Package
        /// </summary>
        public byte[] ReceivedData { get; set; }

        public Message()
        {
            ReceivedData = new byte[0];
            CommandText = "";
            Command = 0;
            ResponceID = 0;
            ResponceRequested = false;
        }

    }
}
